﻿/**
 * @Title: 자바 실무자과정
 * @Description: 과제 01
 * @Copyright: Copyright (c) 2009
 * @author 김준석
 * @version 1.0
 */

import java.util.Calendar;

public class DatePrinter {

    // Main 함수
    public static void main(String args[]) {
        System.out.println("지금은" + getDateString() + "입니다.");

        System.out.println("지금은" + getCurrentDate() + "입니다.");
        
        System.out.println("Test");
        
        System.out.println("안녕하세요".toLowerCase());
        
        
        int PhysicalMemory = 19968;
        float MemoryUse = 2000.65f;
        
        System.out.println("hello" + MemoryUse + " :::: " +(int)MemoryUse);
        
//        int MemoryUseage =  ;
        System.out.println("MemoryUseage : " + (MemoryUse / (float)PhysicalMemory)*100);
    }

    /**
     * JDK 모든버전 가능 static : 인스턴스없이 호출가능 String : 반환값의 타입명시
     */
    public static String getDateString() {
        String dtStr = "";

        /* 이 부분을 구현하세요… */

        /**
         * Calendar 클래스는, 특정의 시점과 YEAR,MONTH,DAY_OF_MONTH,HOUR 등의달력 필드 세트간의 변환,
         * 및 다음 주의 일자의 취득등의 달력 필드 조작을 행하기 위한 추상 클래스입니다.
         */
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int mon = cal.get(Calendar.MONTH) + 1;
        int day = cal.get(Calendar.DAY_OF_MONTH);
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        int min = cal.get(Calendar.MINUTE);
        int sec = cal.get(Calendar.SECOND);

        // 날자,시간정보를 형식에 맞게 구현한다.
        dtStr = " " + year + "년 " + (mon < 10 ? "0" + mon : "" + mon) + "월 "
                + (day < 10 ? "0" + day : "" + day) + "일 "
                + (hour < 10 ? "0" + hour : "" + hour) + "시 "
                + (min < 10 ? "0" + min : "" + min) + "분 "
                + (sec < 10 ? "0" + sec : "" + sec) + "초 ";

        // 날자,시간정보를 반환한다.
        return dtStr;
    }

    /**
     * JDK1.5이상 format 지시자 적용가능 static : 인스턴스없이 호출가능 String : 반환값의 타입명시
     */
    public static String getCurrentDate() {
        String dtStr = "";

        /* 이 부분을 구현하세요… */
        Calendar cal = Calendar.getInstance();

        // dtStr format xxxx년 xx월 xx일 xx시 xx분 xx초
        dtStr = String.format(" %04d년 %02d월 %02d일 %02d시 %02d분 %02d초", 
                cal.get(Calendar.YEAR), (cal.get(Calendar.MONTH) + 1), 
                cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.HOUR_OF_DAY), 
                cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
        return dtStr;
    }

}
